
A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. Multi-agent systems can 
be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. 
Intelligence may include some methodic, functional, procedural or algorithmic search, find and processing approach.

Topics where multi-agent systems research may deliver an appropriate approach include online trading, disaster 
response and modelling social structures.
The agents in a multi-agent system have several important characteristics:
Autonomy: the agents are at least partially autonomous Local views: no agent has a full global view of the system, 
or the system is too complex for an agent to make practical use of such knowledge. 
Decentralization: there is no designated controlling agent (or the system is effectively reduced to a monolithic 
system.
Typically multi-agent systems research refers to software agents. However, the agents in a multi-agent system 
could equally well be robots, humans or human teams. 
A multi-agent system may contain combined human-agent teams.
Multi-agent systems can manifest self-organization as well as self-steering and other control paradigms and 
related complex behaviors even when the individual strategies of all their agents are simple.
When agents can share knowledge using any agreed language, within the constraints of the system's communication 
protocol, the approach may lead to a common improvement. Example languages are Knowledge Query Manipulation 
Language (KQML) or FIPA's Agent Communication Language (ACL).
Many MAS systems are implemented in computer simulations, stepping the system through discrete "time steps". 
The MAS components communicate typically using a weighted request matrix.  
A challenge-response-contract scheme is common in MAS systems, where First a "Who can?" question is distributed.
Only the relevant components respond: "I can, at this price".
Finally, a contract is set up, usually in several more short communication steps between sides, also considering 
other components, evolving "contracts", and the restriction sets of the component algorithms. Another paradigm 
commonly used with MAS systems is the pheromone, where components "leave" information for other components "next 
in line" or "in the vicinity". These "pheromones" may "evaporate" with time, that is their values may decrease 
(or increase) with time.
MAS systems,  also referred to as "self-organized systems", tend to find the best solution for their problems 
"without intervention". There is high similarity here to physical phenomena, such as energy minimizing, where 
physical objects tend to reach the lowest energy possible, within the physical constrained world. For example: 
many of the cars entering a metropolis in the morning, will be available for leaving that same metropolis in 
the evening. The main feature which is achieved when developing multi-agent systems, if they work, is flexibility, 
since a multi-agent system can be added to, modified and reconstructed, without the need for detailed rewriting 
of the application.
These systems also tend to be rapidly self-recovering and failure proof, usually due to the heavy redundancy of 
components and the self managed features, referred to, above.
The study of multi-agent systems is "concerned with the development and analysis of sophisticated AI 
problem-solving and control architectures for both single-agent and multiple-agent systems. 
Topics of research in MAS include: agent-oriented software engineering beliefs, desires, and intentions (BDI),
cooperation and coordination, organization, communication, negotiation, distributed problem solving, multi-agent 
learning, scientific communities dependability and fault-tolerance.
While ad hoc multi-agent systems are often created from scratch by researchers and developers, some frameworks 
have arisen that implement common standards (such as the FIPA agent system platforms and communication languages). 
These frameworks save developers time and also aid in the standardization of MAS development.
Multi-agent systems are applied in the real world to graphical applications such as computer games. Agent systems 
have been used in films. They are also used for coordinated defence systems. Other applications include 
transportation, logistic, graphics, GIS as well as in many other fields. It is widely being advocated for use 
in networking and mobile technologies, to achieve automatic and dynamic load balancing, high scalability, and 
self-healing networks.
